When a game process is executed by a plurality of apparatuses communicating with each other, a delay in the communication has traditionally been taken into consideration during the execution of the game process.
When one information processing apparatus receives information from another information processing apparatus to execute information processing, and controls an action of an object on the basis of the information from the other information processing apparatus, it is traditionally difficult to synchronize actions of the objects of the two apparatuses in some cases. For example, a communication delay may lead to a difference in timing at which an action starts between the two apparatuses, which may in turn lead to a difference in timing of a result produced by the action between the two apparatuses.
With this in mind, the present application discloses an information processing system, an information processing apparatus, a storage medium storing an information processing program, and an information processing method that allow facilitation of synchronization of actions of objects between information processing apparatuses.
(1) A non-limiting example of an information processing system described herein includes a first information processing apparatus, and a second information processing apparatus configured to communicate with the first information processing apparatus.
The first information processing apparatus includes a first control means and a first sending means. The first control means controls a first object in a virtual space according to an input by a user of the first information processing apparatus. The first sending means sends object information about the first object to the second information processing apparatus.
The second information processing apparatus includes a reception means, a second control means, and a display control means. The reception means receives the object information from the first information processing apparatus. The second control means controls a second object in the virtual space according to an input by a user of the second information processing apparatus, and controls the first object based on the object information. The display control means causes a display to display an image containing at least the first object. The second control means, when a predetermined condition is satisfied, skips a portion of an action that is performed by the first object based on the object information.
According to the feature (1), in the second information processing apparatus, the time it takes to complete an action that is performed by the first object can be reduced by skipping a portion of the action. As a result, an influence caused by a delay that occurs when the object information is sent from the first information processing apparatus to the second information processing apparatus can be reduced, and therefore, the synchronization of the action of the first object between the information processing apparatuses can be facilitated.
(2) The predetermined condition may be that the reception means has received, as the object information, information indicating that the first object has started a predetermined action based on the input by the user of the first information processing apparatus.
According to the feature (2), in the second information processing apparatus, an action can be skipped from a timing at which a predetermined action is started, and therefore, the time it takes to complete the predetermined action is easily reduced.
(3) The predetermined action includes an action for affecting the second object.
According to the feature (3), the synchronization of an action of the first object that may affect the second object between the information processing apparatuses can be facilitated.
(4) The predetermined action may include a preliminary action, and a main action that is performed, following the preliminary action. The second control means, when the predetermined condition is satisfied, may skip at least a portion of the preliminary action of the first object, and control the first object so that the first object performs at least the main action.
According to the feature (4), the second information processing apparatus can skip the preliminary action to reduce unnaturalness that a user feels due to the skipping of a portion of the predetermined action.
(5) The preliminary action may be an action that does not affect the second object. The second control means may further have a determination means. The determination means may determine whether or not the second object has been affected by the main action of the first object.
According to the feature (5), a portion of the predetermined action that is relatively less important is skipped, and therefore, an influence of the skipping of an action of an object on a result caused by the object's action can be reduced.
(6) The second control means may further have a delay specifying means. The delay specifying means may specify a delay time in communication between the first information processing apparatus and the second information processing apparatus. The second control means may change a length of the skipped portion of the action of the first object, based on a length of the delay time.
According to the feature (6), the second information processing apparatus can display an action of the first object for an appropriate period of time corresponding to the delay time.
(7) The second control means, when skipping a portion of the action of the first object, may predict a state of the first object after the skipping, to start controlling the action after the skipping.
According to the feature (7), after a portion of the predetermined action is skipped, the first object can be allowed to perform a more natural action, and therefore, unnaturalness that the user feels due to the skipping can be reduced.
(8) The second control means may predict the action after the skipping based on information about the first object contained in the object information.
According to the feature (8), the second information processing apparatus can performs the prediction with high accuracy based on information sent from the first information processing apparatus.
(9) The second control means may predict a position where the first object starts the action after the skipping.
According to the feature (9), the first object can start an action after the skipping, at a natural position, and therefore, unnaturalness that the user feels due to the skipping can be more effectively reduced.
(10) The second control means may perform the prediction using a function that takes, as an input, information about the first object contained in the object information, and outputs a state of the first object in the action after the skipping, and there may be a plurality of the functions provided for respective different types of the first object.
According to the feature (10), the second information processing apparatus can perform prediction on suitable for each type of first object.
(11) The second control means may have a second sending means. The second sending means may send result information indicating a result caused by the action of the first object, to the first information processing apparatus. The first information processing apparatus may have a second reception means and a result display means. The second reception means may receive the result information from the second information processing apparatus. The result display means may display an image representing the result based on the received result information.
According to the feature (11), the first information processing apparatus displays the result based on the result information received from the second information processing apparatus, and therefore, the first and second information processing apparatuses can have the same result.
Note that a non-limiting example of the first or second information processing apparatus having the features (1)-(11) is herein disclosed. In addition, disclosed herein is a non-limiting example storage medium storing an information processing program that causes a computer of the second information processing apparatus (or the first information processing apparatus) to function as each means that is included in the second information processing apparatus (or the first information processing apparatus) having the features (1)-(11). In addition, disclosed herein is a non-limiting example information processing method executable in the information processing system having the features (1)-(11).
According to the information processing system, the information processing apparatus, the storage medium storing the information processing program, and the information processing method, the synchronization of an action of an object between information processing apparatuses can be facilitated.
These and other objects, features, aspects and advantages of the present exemplary embodiment will become more apparent from the following detailed description of the present exemplary embodiment when taken in conjunction with the accompanying drawings.